#pragma once
#include <string>
#include <glad/glad.h>

class Shader {
public:
    Shader() = default;
    bool loadFromFiles(const std::string& vertPath, const std::string& fragPath);
    void use() const;
    GLint uniform(const char* name) const;
    void setMat4(const char* name, const float* value) const;
    void setVec3(const char* name, float x, float y, float z) const;
    void setFloat(const char* name, float v) const;
private:
    GLuint program = 0;
};